Kopirovani souboru - sit Microsoft

Otázka od: Michal VOJTA

4. 10. 2002 15:23

Ahoj,
nemuzu rozlousknout jeden problem:
potrebuji z aplikace automaticky kopirovat po siti Microsoft do sdilenych
adresaru (bez hesla) jeden soubor na vic stanic.
Pokud si v aplikaci pustim napr. OpenDialog, nabrouzdam si cestu a tu z nej
pouziju na kopirovani, je vsechno OK. Ale pokud si ten OpenDialog nepustim a
cestu vypisu rucne (napr. do EditBoxu), tak to kopirovani neprojde. Dela na
pozadi OpenDialog neco, aby inicializoval tu cestu?
Win 9x, Delphi 3 Prof
Diky
Michal VOJTA


---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.391 / Virová báze: 222 - datum vydání: 19.9.2002

Odpovedá: Vaclav Krmela

4. 10. 2002 11:26

> From: Michal VOJTA
>
> potrebuji z aplikace automaticky kopirovat po siti Microsoft
> do sdilenych
> adresaru (bez hesla) jeden soubor na vic stanic.
> Pokud si v aplikaci pustim napr. OpenDialog, nabrouzdam si
> cestu a tu z nej
> pouziju na kopirovani, je vsechno OK. Ale pokud si ten
> OpenDialog nepustim a
> cestu vypisu rucne (napr. do EditBoxu), tak to kopirovani
> neprojde. Dela na
> pozadi OpenDialog neco, aby inicializoval tu cestu?

Podivej se do helpu na funkci WNetAddConnection2.

Potom zkus pouzit neco jako:

function OpenSharedResource(Path, User, Pasw: String): Boolean;
var
  NetRes: TNetResource;
  UserName: array[0..31] of Char;
  Password: array[0..31] of Char;
begin
  Result := False;
  StrLCopy(UserName, PChar(User), SizeOf(UserName)-1);
  StrLCopy(Password, PChar(Pasw), SizeOf(Password)-1);
  ZeroMemory(@NetRes, Sizeof(NetRes));
  NetRes.dwType := RESOURCETYPE_DISK;
  NetRes.lpRemoteName := PChar(Path);
  if not DirectoryExists(Path) and
   (WNetAddConnection2(NetRes, Password, UserName, 0) <> NO_ERROR) then
  begin
{ if not Silent then MessBox(sErrorOpenShared, MB_ICONERROR);}
  end else Result := True;
end;

Vaclav Krmela